package com.ruoyi.cmdb.domain.bo;

import com.ruoyi.cmdb.domain.CmdbModels;
import com.ruoyi.cmdb.domain.CmdbModelFields;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.List;
import com.ruoyi.common.orm.core.domain.BaseEntity;

/**
 * 模型管理业务对象 cmdb_models
 *
 * @author mfq
 * @date 2024-11-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = CmdbModels.class, reverseConvertGenerate = false)
public class CmdbModelsBo extends BaseEntity
{

    /**
     * 主键ID
     */
    @NotBlank(message = "主键ID不能为空")
    private String id;

    /**
     * 模型id
     */
    @NotBlank(message = "模型id不能为空")
    private String modelId;

    /**
     * 父模型id(存多个，用|分开)
     */
    private String parentModelIds;

    /**
     * 模型名称
     */
    @NotBlank(message = "模型名称不能为空")
    private String modelName;

    /**
     * 命名空间
     */
    private String namespace;

    /**
     * 分类id
     */
    private String classifyId;

    /**
     * 是否内置模型
     */
    @NotNull(message = "是否内置模型不能为空")
    private String isDefalut;

    /**
     * 是否隐藏
     */
    @NotNull(message = "是否隐藏不能为空")
    private String isShow;

    /**
     * 模型类型（1-普通模型，2-父模型）
     */
    @NotNull(message = "模型类型（1-普通模型，2-父模型）不能为空")
    private Integer modelType;

    /**
     * 描述
     */
    private String description;

    /**
     * 布局设计
     */
    private String formDesigner;


    /** 模型属性信息 */
    private List<CmdbModelFields> cmdbModelFieldsList;
}
